home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / util / pack / xpk_Develop.lha / xpk_Develop / Include / ASM / xpk / xpkprefs.i < prev    next >
Text File  |  1998-11-09  |  4KB  |  131 lines

  1.     IFND    XPK_XPKPREFS_I
  2. XPK_XPKPREFS_I    SET    1
  3.  
  4. **
  5. **    $VER: xpk/xpkprefs.i 4.14 (03.06.1998) by SDI
  6. **
  7. **    (C) Copyright 1997-1998 by Dirk Stöcker
  8. **        All Rights Reserved
  9. **
  10.  
  11.     IFND    EXEC_SEMAPHORES_I
  12.     INCLUDE "exec/semaphores.i"
  13.     ENDC
  14.     
  15.     IFND    LIBRARIES_IFFPARSE_I
  16.     INCLUDE "libraries/iffparse.i"
  17.     ENDC
  18.  
  19. ID_XPKT     EQU    'XPKT'
  20. ID_XPKM     EQU    'XPKM'
  21.  
  22. *****************************************************************************
  23. *
  24. *
  25. *     XpkTypeData structure
  26. *
  27. *
  28.  
  29. XTD_NoPack    EQU    $0001 ; filetype should not be crunched
  30. XTD_ReturnError    EQU    $0002 ; return error XPKERR_NOMETHOD
  31. * These two cannot be set same time!
  32.  
  33.    STRUCTURE XpkTypeData,0
  34.     ULONG    xtd_Flags    ; see above XTD flags
  35.     ULONG   xtd_StdID    ; holding the ID --> 'NUKE'
  36.     ULONG    xtd_ChunkSize    ; maybe useless with external crunchers
  37.     UWORD    xtd_Mode    ; PackMode
  38.     UWORD   xtd_Version    ; structure version --> 0 at the moment
  39.     APTR    xtd_Password    ; not used at the moment
  40.     APTR    xtd_Memory    ; memory pointer - when should be freed by
  41.     ULONG    xtd_MemorySize    ; memory size    - receiver (xpkmaster)
  42.     LABEL    XpkTypeData_SIZEOF
  43.  
  44. ******************************************************************************
  45. *
  46. *
  47. *     XpkTypePrefs structure
  48. *
  49. *
  50.  
  51. XPKT_NamePattern    EQU    $0001 ; File Pattern is given
  52. XPKT_FilePattern    EQU    $0002 ; Name Pattern is given
  53. * These can both be set (in loading this means File AND Name Pattern have
  54. * to match), but one is needed
  55.  
  56.    STRUCTURE XpkTypePrefs,0
  57.     ULONG    xtp_Flags    ; See above XPKT Flags
  58.     APTR     xtp_TypeName    ; Name of this file type (for prefs program)
  59.     APTR     xtp_NamePattern ; Pointer to NamePattern
  60.     APTR     xtp_FilePattern ; Pointer to FilePattern
  61.     ULONG   xtp_PackerData  ; Pointer to PackerData
  62.     LABEL    XpkTypePrefs_SIZEOF
  63.  
  64. *****************************************************************************
  65. *
  66. *
  67. *     XpkMainPrefs structure
  68. *
  69. *
  70.  
  71. XPKM_UseXFD        EQU    $0001 ; Use xfdmaster.library for unpacking
  72. XPKM_UseExternals    EQU    $0002 ; Use xex libraries
  73. XPKM_AutoPassword    EQU    $0004 ; Use the automatic password requester
  74.  
  75.     STRUCTURE XpkMainPrefs,0
  76.     ULONG    xmp_Version    ; version of structure ==> 0
  77.     ULONG    xmp_Flags    ; above defined XPKM flags
  78.     APTR    xmp_DefaultType ; sets the mode used as default (struct XpkTypeData *)
  79.     UWORD    xmp_Timeout    ; Timeout for password requester
  80.                 ; given in seconds, zero means no timeout
  81.     LABEL    XpkMainPrefs_SIZEOF
  82.  
  83. * The library internal defaults are:
  84. *  XPKM_UseXFD            FALSE
  85. *  XPKM_AutoPassword        FALSE
  86. *  XPKM_UseExternals        TRUE
  87. *  XTD_ReturnError        defined as default
  88. *  xmp_TimeOut            set to 120    (two minutes)
  89. *
  90. * These defaults are used, when no preferences file is given.
  91.  
  92. *****************************************************************************
  93. *
  94. *
  95. *     XpkMasterPrefs Semaphore structure
  96. *
  97. *  find with FindSemaphore(XPKPREFSSEMNAME);
  98. *
  99. *  obtain with ObtainSemaphoreShared(),
  100. *  programs WRITING into the structure fields must know:
  101. *   - only write to them, when you created the semaphore
  102. *   - use ObtainSemaphore() instead of ObtainSemaphoreShared()
  103. *
  104.  
  105. XPKPREFSSEMNAME    MACRO
  106.         DC.B '« XpkMasterPrefs »',0
  107.         ENDM
  108.  
  109. * Defines used for xps_PrefsType. These help to find out, which preferences
  110. * type is used.
  111.  
  112. XPREFSTYPE_STANDARD    EQU    $58504B4D    ; 'XPKM'
  113. XPREFSTYPE_CYB        EQU    $20435942    ; ' CYB'
  114.  
  115.     STRUCTURE XpkPrefsSemaphore,0
  116.     STRUCT    xps_Semaphore,SS_SIZE
  117.     ULONG    xps_Version    ; at the moment 0
  118.     ULONG    xps_PrefsType    ; preferences type
  119.     APTR    xps_PrefsData    ; preferences data
  120.     APTR    xps_MainPrefs    ; defined defaults (struct XpkMainPrefs *)
  121.     ULONG    xps_RecogSize    ; needed size of Recogbuffer
  122.     APTR    xps_RecogFunc    ; Recog function
  123.     APTR    xps_ProgressHook; hook function
  124.     APTR    xps_MasterTask  ; Creater's task
  125.     LABEL    XpkPrefsSemaphore_SIZEOF
  126.  
  127. * Use Signal(sem->xps_MasterTask, SIGBREAKF_CTRL_C); to get the installer
  128. * program to remove the semaphore.
  129.  
  130.     ENDC
  131.